package com.mpo.web.ws;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.mpo.common.util.SeguridadesException;
import com.mpo.ejb.servicio.frontend.ServicioClienteRemote;
import com.mpo.ejb.persistence.util.frontend.dto.UsuarioDTO;
/**
 * Clase que ofrece web servicios relacionados con los servicios communes 
 * @author Jose Auquilla
 *
 */
@Path("/wsCommon")
public class WSCommon {

	private static final Logger log = LoggerFactory.getLogger(WSCommon.class);
	ServicioClienteRemote servicioCommon;

	/**
	 * Metodo de web service que obtiene todos los paises del mundo
	 * @throws NamingException
	 */
	
	@GET()
	@Produces(MediaType.APPLICATION_JSON)
	@Path("/datosComunes/obtenerPaises/")
	public void getPaises() throws NamingException {
		log.info("setPais web service");
		InitialContext context = new InitialContext();
		servicioCommon = (ServicioClienteRemote) context
				.lookup("ejb:mpoEAP/mpoEJB/ServicioClienteImpl!com.mpo.ejb.servicio.frontend.ServicioClienteRemote");
		// try {
			//List<Paises> paises= servicioCliente.getPaises();
		//} catch (SeguridadesException e) {
			//e.printStackTrace();
		//}
/**return paises;
 * 
 */
	}
	/**Metodo de web service que obtiene todos los empleados de una empresa por id de la empresa
	 * 
	 * @param idEmpresaMain
	 * @return
	 * @throws NamingException
	 */
	@GET()
	@Produces(MediaType.APPLICATION_JSON)
	@Path("/datosCommon/getEmpleadosPorIdEmpresa/{idEmpresaMain}")
	public List<UsuarioDTO> getEmpleadosPorIdEmpresa(@PathParam("idEmpresaMain") Integer idEmpresaMain) throws NamingException {
		log.info("getResponsableCampaniaPorIdEmpresa web service");
		List<UsuarioDTO> empleados=new ArrayList<UsuarioDTO>();
		InitialContext context = new InitialContext();
		 servicioCommon = (ServicioClienteRemote) context
		 .lookup("ejb:mpoEAP/mpoEJB/ServicioClienteImpl!com.mpo.ejb.servicio.frontend.ServicioClienteRemote");
		 try {
		
		 empleados=servicioCommon.getEmpleadosPorIdEmpresa(idEmpresaMain);
		 for (UsuarioDTO usuarioDTO : empleados) {
			System.out.println("Nombres ws: "+usuarioDTO.getNombres());
		}
		 
		 
		 } catch (SeguridadesException e) {
		 e.printStackTrace();
		 }
		 return empleados;

	}
}
